home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / GAME_CGA / ARCHERY.LZH / SNAKE.DOC < prev   
Text File  |  1987-08-02  |  22KB  |  489 lines

  1.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  2.  
  3.  
  4.  
  5.         INTRODUCTION
  6.  
  7.         Version 3.1 of SNEESNOO SNAKE TM is significantly improved over 
  8.         earlier versions.  One of the driving forces behind this game has 
  9.         been to produce a challenging, tracking type game which did not 
  10.         involve violent, shoot-the-enemy mentality.  It is a subtle game 
  11.         which encourages clever strategies as well as perceptual-motor 
  12.         speed and accuracy.  Suggestions and comments from a number of 
  13.         enthusiastic SneeSnoo Snake Snatchers have led to this improved 
  14.         version.  Thanks All for your valuable input. 
  15.  
  16.         If you become a registered user, you will receive the latest 
  17.         version of the game along with the TurboPascal (TM Borland 
  18.         International) source code.  You will be also informed of the 
  19.         $10,000.00 International SneeSnoo Snake Contest (see CONTEST 
  20.         later) when it is scheduled.  A number of improvements to Snake 
  21.         are under development, such as faster key action, joy stick and 
  22.         mouse support, direct writing to screen memory and more.  
  23.         Although this game is copyrighted, permission is given for 
  24.         noncommercial use and distribution.  It is a user-supported 
  25.         enterprise.  
  26.  
  27.  
  28.         STARTING THE GAME OF SNEESNOO SNAKE TM
  29.  
  30.         When the game is invoked by keying SNAKE at the DOS prompt, 
  31.         options are presented for toggling sound on or off and for 
  32.         resetting the score file, snake.dat.  If you say you want to 
  33.         reset, the program confirms your decision before destroying 
  34.         history.  If the file snake.dat does not exist, the program is 
  35.         smart enough to detect that fact and create a "tabla rasa" for 
  36.         the scores.  It now automatically detects and sets itself up for 
  37.         use on monochrome or color graphics adapters.  After you setup 
  38.         the options you are taken to the beginning screen.  After 
  39.         pressing any key, you then go to the main menu.  There are 7 
  40.         options as shown below: 
  41.  
  42.         MAIN MENU
  43.  
  44.         1.  BEGINNING SCREEN  Takes you back to the intro screen.
  45.  
  46.         2.  GAME INSTRUCTIONS  Rules of the game, what keys to use.
  47.  
  48.         3.  FURTHER INFORMATION  Commercial info, prices, whom to 
  49.         contact.
  50.  
  51.         4.  PLAY GAME  Just what it says;  Snatch the SneeSnoo Snake!         
  52.  
  53.         5.  CHANGE OPTIONS  Repeat the beginning option setting.
  54.  
  55.         6.  DISPLAY SCORES  View the top 20 scores and names.     
  56.  
  57.         7.  EXIT TO DOS  Quit the game.
  58.  
  59.  
  60.  
  61.                                    1
  62.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  63.  
  64.  
  65.         The game is a challenge on several levels of tactics and 
  66.         strategy.  The highest official score that has been obtained on 
  67.         version 3.1 is 25.00 (as of 7/1/87).  See if you can top that.  
  68.  
  69.  
  70.         BRIEF INSTRUCTIONS
  71.  
  72.         You are a herpetologist for Megalop Zoo.  Your assignment is to 
  73.         go to the Foetid Forest of Amazonia and catch rare SneeSnoo 
  74.         Snakes.  The SneeSnoo's body is green and its head is a happy 
  75.         face.   Snoo's head is magenta & it's poisonous, Snee's head is 
  76.         red, it's not.  You control movement of a bag, which is a 
  77.         rectangle.  You can also close the bag.  SneeSnoo can enter from 
  78.         any side.  Closing bag with the RED head inside , gets 1 snake, 
  79.         or 4 snakes if MAGENTA.  If outside bag, but within striking 
  80.         distance, it bites and you drop 1 snake, 2 if venomous.  Five 
  81.         venomous bites & you  DIE!! Your score is the total number of 
  82.         snakes bagged per minute.  You have a time limit.  Time in 
  83.         seconds remaining is shown in the lower right.  Good Luck! 
  84.  
  85.         CONTROL KEYS (Make sure NumLock is off!) 
  86.  
  87.         Up Arrow moves bag up.            Home moves bag up and left.  
  88.         Down Arrow moves bag down.        PgUp moves bag up and right.  
  89.         Right Arrow moves bag right.      PgDn moves bag down and right.  
  90.         Left Arrow moves bag left.        End moves bag down and left.  
  91.  
  92.         F1 aborts to DOS during play.     Spacebar closes bag.  
  93.  
  94.  
  95.         OPERATION OF THE GAME SPEED CHANGING ALGORITHM
  96.  
  97.         When you select PLAY GAME, the initial speed of the game is set 
  98.         to moderately fast (DELAY = 100).  DELAY controls the speed of 
  99.         the game;  it uses TurboPascal's delay function, in which a value 
  100.         of 100 is approximately equal to 100 milliseconds or about one-
  101.         tenth of a second.  As you play the game, the current operating 
  102.         value of DELAY is displayed in the score bar at the bottom of the 
  103.         screen.  The higher the DELAY, the slower the speed and vice 
  104.         versa.  If  you are skilled, SNAKE31 automatically speeds up 
  105.         (DELAY decreases).  If you are a beginner, it slows down (DELAY 
  106.         increases) to a level where you can comfortably play it.  It 
  107.         speeds up at a faster rate than it slows down, so it pushes each 
  108.         player to his or her own skill limit.  
  109.  
  110.         There are two rates of speed change.  The switch over occurs at 
  111.         DELAY = 100.  Above 100 the rate of change is rapid, below 100 it 
  112.         is slower.   A delay of 80 is difficult, 70 is very difficult, 
  113.         and 60 is nearly impossible.  The program's decision to change 
  114.         DELAY hinges on the number of snakes you bag in a 3 second time 
  115.         period.  If above the criterion, the speed increases, if below 
  116.         the criterion the speed decreases and if equal to the criterion 
  117.         it does not change.  This adaptive action is a kind of machine 
  118.         intelligence which keeps the you working near your upper tracking 
  119.         speed limit.
  120.  
  121.  
  122.                                    2
  123.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  124.  
  125.  
  126.         HUMAN FACTORS THEORY OF THE GAME 
  127.  
  128.         The game involves an adaptive, two-dimensional pursuit tracking 
  129.         task.   The player tries to follow a randomly moving target with 
  130.         a reticle (bag) and when the target is within the reticle press a 
  131.         button to capture it.  SNAKE31 is much more than a simple pursuit 
  132.         tracking task such as steering a car along a highway.  And the 
  133.         rates of motion of the target can exceed the bandwidth of the 
  134.         human controller.
  135.  
  136.         The upper limit of human eye-hand tracking closed-loop frequency 
  137.         response is 0.6 Hz or 1.7 seconds per cycle.  This is relatively 
  138.         slow.  It is much slower than the maximum key tapping rate of one 
  139.         finger, which is about 5 times per second (5 Hz) or 0.2 seconds 
  140.         per cycle.    For the engineers in the crowd, a typical 
  141.         continuous human operator mathematical transfer function is: 
  142.  
  143.                  K * (exp ( -0.17S ) / ( 0.63S + 1 )); 
  144.  
  145.         where S is the LaPlace operator.  
  146.  
  147.         Such an equation can be used to simulate how a human might 
  148.         control a dynamic system, like flying an airplane or steering a 
  149.         car.  But humans behave much more cleverly than the above 
  150.         equation.  They can learn the periodicities in the control task 
  151.         and anticipate the next motion which might occur.   It is 
  152.         possible to anticipate SneeSnoo Snake's motion.
  153.  
  154.         SneeSnoo can move much faster than the human can follow it, as 
  155.         can be seen when the snake does its dance (DELAY = 10).  Thus, 
  156.         its speed must be reduced for a reasonably difficult tracking 
  157.         task.  
  158.  
  159.         The typical eye-hand simple reaction time of the human is 180 
  160.         milliseconds or about two-tenths of a second.  By knowing the 
  161.         humans' maximum tapping rate, visual reaction time, the size of 
  162.         the bag in number of snake increments, the increment rate 
  163.         (1/DELAY), and the random snake-motion algorithm, and the ability 
  164.         of the human to track the snake's periodicities, a creative 
  165.         SneeSnoo Snake Snatcher Programmer might be able to figure out a 
  166.         computer program to simulate a human playing the game!  
  167.  
  168.  
  169.         THE ZEN OF SNEESNOO SNAKE SNATCHING
  170.  
  171.         SneeSnoo Snake embodies the principle of duality in a way 
  172.         analogous to the YinYang of Eastern philosophy.  Snoo and Yin are 
  173.         the dark side of nature, whereas Snee and Yang are the light 
  174.         side.  The same snake manifests both Snee and Snoo just as each 
  175.         person manifests both Yang and Yin attributes.  As you become 
  176.         more skilled in this game you may find that, there is no longer a 
  177.         separate keyboard, screen, game, and person playing it;  but only 
  178.         oneness, a magical whole, a transcendent dance of nature and 
  179.         technology.  Mentally healthful, this arcade type video game 
  180.         eschews war-minded shoot-em-up atavism.  Remember, use the Force!
  181.  
  182.  
  183.                                    3
  184.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  185.  
  186.  
  187.  
  188.         SNEESNOO SNAKE SNATCHING HINTS
  189.  
  190.         Location on the screen -  The easiest locations are the corners.  
  191.         The hardest location is the center of the screen.   
  192.  
  193.         Movement of the snake - The snake moves 5 increments in one 
  194.         direction before it changes direction.  The horizontal change in 
  195.         direction does not occur at the same time as the vertical change 
  196.         in direction.  The total length of the snake is 13 characters and 
  197.         there are 3 possible changes in direction along this length.  
  198.         Note that it usually moves diagonally, rarely just vertically or 
  199.         horizontally.
  200.  
  201.         Size and shape of the bag -  The bag is 6 horizontal spaces wide 
  202.         and 4 vertical spaces high.  You have a better chance of snagging 
  203.         it during horizontal motion. 
  204.  
  205.         Movement of the bag - Each actuation of the horizontal cursor 
  206.         keys moves the bag 6 spaces and the vertical keys move it 3 
  207.         spaces.  The diagonal keys move that number of spaces 
  208.         horizontally and vertically at the same time.  So, you cover more 
  209.         distance using the diagonal (corner) cursor keys.
  210.  
  211.         Venomous vs. nonvenomous snakes -  You get 1 snake credit for 
  212.         bagging a nonvenomous snake; but credit for 4 snakes if it's 
  213.         venomous.  So, for high score, you should go for the venomous 
  214.         snakes; but you risk dying.  If you get bitten by a nonvenomous 
  215.         Snee Snake,  you drop one snake.  If it's a venomous Snoo, you 
  216.         drop two snakes and after 5 bites from the Snoo Snake you die and 
  217.         the game is over.  When you die, your score is not recorded.  The 
  218.         distance the SneeSnoo Snake can strike is 5 horizontal spaces 
  219.         left or right of bag center or 4 vertical spaces above or below 
  220.         it.
  221.  
  222.         Delay adjustments - You might get a better score if you pace 
  223.         yourself and become selective, rather than taking every snatching 
  224.         opportunity that comes along.  Remember the one who gets the 
  225.         highest score without dying is the winner.  
  226.  
  227.         Competition -  SNAKE31 is fun to play by yourself; but the real 
  228.         challenge is to play against others.  The data file automatically 
  229.         saves the highest 20 scores.  Play against your buddies; organize 
  230.         a local contest.   
  231.  
  232.  
  233.         CONTEST: INTERNATIONAL
  234.  
  235.         The $10,000.00 International SneeSnoo Snake Snagging Contest 
  236.         rules are follows:
  237.  
  238.         1.  Contestants must be registered users,
  239.  
  240.         2.  Details of the contest will be sent to all registered users 
  241.         after the number of registrants exceeds 5,000 people.
  242.  
  243.  
  244.                                    4
  245.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  246.  
  247.  
  248.         3.  Following notification, all registrants who wish to apply for 
  249.         the contest must complete the official application form and 
  250.         enclose a notarized printout of their snake.dat file containing 
  251.         their attestedly authentic highest scores with Snake Version 3.1.  
  252.  
  253.         4.  The data from these returns will be summarized and returned 
  254.         to all applicants.  This enables the applicants to see how their 
  255.         scores compare to others.
  256.  
  257.         5.  All those deciding to compete must send an entry fee (amount 
  258.         to be determined) to cover cost of conducting the contest.
  259.  
  260.         6.  The total prize will be $10,000.00, which is one quarter of 
  261.         the gross income from the 5000 $8.00 registration fees.  This 
  262.         will be split three ways as follows: 1ST PRIZE  $5,000.00;  2ND 
  263.         PRIZE $3,000.00; and 3RD PRIZE $2,000.00.
  264.  
  265.         7.  The contest will be conducted in Atlantic City, NJ.  
  266.         Contestants must pay for their own transportation and local 
  267.         accommodations.  
  268.          
  269.         8.  Further details and registrant counts will be included in 
  270.         future releases of SNEESNOO SNAKE TM.
  271.  
  272.  
  273.         CONTEST: LOCAL
  274.  
  275.         The Computer Society of Stockton State College and the South 
  276.         Jersey IBM PC Users Group are planning a Stockton Computer Fest 
  277.         in October 1987.  There are tentative plans to conduct a SneeSnoo 
  278.         Snake TM Contest during this Computer Fest.  Prizes will be 
  279.         awarded to the highest scorers.
  280.  
  281.  
  282.         INTELLECTUAL PROPERTY AND COMMERCIAL INFORMATION 
  283.  
  284.         This game was written in TurboPascal (TM Borland International).  
  285.         It consists of about 1200 lines of code.  Although copyrighted by 
  286.         and intellectual property of the author, Bruce L. Rosenberg, 
  287.         approval is given for noncommercial use and distribution by 
  288.         users' groups (at a nominal fee) and for placing on private 
  289.         computer bulletin boards.  Consideration will be given to offers 
  290.         from commercial firms regarding licensing on a royalty basis.  
  291.  
  292.         Send a check for $8.00 to register and receive the latest version 
  293.         plus an on-disk copy of the SNEESNOO SNAKE TM pascal source code.  
  294.         Registrants will be entered into a computer data base.  The above 
  295.         offer is for personal use and does not constitute a license for 
  296.         commercial use.  
  297.  
  298.         Send inquiries and checks to : 
  299.  
  300.         Bruce L. Rosenberg 
  301.         23 N. Chelsea Avenue 
  302.         Atlantic City, NJ 08401 
  303.  
  304.  
  305.                                    5
  306.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  307.  
  308.  
  309.  
  310.         Any suggestions for improvements or ideas for games can be mailed 
  311.         to the above address,  via voice phone evenings at (609) 345-
  312.         4712, or leave message on Compuserve, 73547,402.                                
  313.  
  314.  
  315.         TROUBLE SHOOTING Q&A 
  316.  
  317.         Q1.  Sometimes the bag movement keys don't work; why? 
  318.         A1.  You inadvertently hit NumLock,  Hit NumLock again.
  319.  
  320.         Q2.  When the head was in the bag, I hit the F10 key to close it, 
  321.         but the snake still bit me, how come? 
  322.         A2.  The head was outside when the bag closed.  There can be a 
  323.         slight delay between hitting the key and the bag closing.  You 
  324.         must anticipate this when you hit F10 to close it.  
  325.  
  326.         Q3.  My score is high early in the game and then goes down.  Why?
  327.         A3.  Your score is computed as the number of snakes bagged (1 for 
  328.         nonpoisonous, 4 for poisonous) less the number of snakes lost due 
  329.         to getting bitten.  This result is then divided by the elapsed 
  330.         time.  So if you have a score of 25 snakes per minute at the end 
  331.         of the first minute and neither get bitten nor snag a snake 
  332.         during the remainder of the second minute, your final score will 
  333.         be 12.5 snakes per minute.  You can't let up for a single second!
  334.  
  335.         Q4.  How come the snake keeps biting me?
  336.         A4.  Work on your accuracy and ability to anticipate where the 
  337.         snake will move.  Pace yourself and don't get trigger-happy.
  338.  
  339.         Q5.  My score never gets on the top 20 list.  Why?
  340.         A5.  You need to improve your skill or reset the score file using 
  341.         option 5 from the main menu.
  342.  
  343.         Q6.  My boss caught me playing this game at work.  How can I stay 
  344.         out of trouble?
  345.         A6.  Function key, F1 immediately exits the game and returns to 
  346.         the DOS prompt.  Next time select the no-sound option, Dummy!
  347.  
  348.  
  349.         REVISION INFORMATION 
  350.  
  351.         Version 3.1  08/02/87 - Changed key for closing bag to Spacebar 
  352.         instead of F10.  F10 is awkward to use on the PC Jr. and keyboards 
  353.         with function keys across the top.  Limited maximum delay to 240, 
  354.         since, for novices, the game was slowing down too much.
  355.  
  356.         Version 3.0  06/27/87 - Made snake a linked list instead of a 2D 
  357.         array.  Made game speed increase as skill increases. It now 
  358.         adapts to both machine speed and the persons' skill.  This is a 
  359.         major improvement in the game.  Restructured code.
  360.  
  361.         Version 2.9  06/03/87 - Improved bag movement procedure by 
  362.         incrementing movement by 1, nbj times.  This permits the bag to 
  363.         move to the screen extremes.  Changed bag symbol.  
  364.  
  365.  
  366.                                    6
  367.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  368.  
  369.  
  370.         Version 2.8  02/01/87 - Changed back to the standard keypressed 
  371.         and read(kbd,ch) actions, which along with cbreak are working 
  372.         well.  Position of cbreak is critical, see comments in source 
  373.         code for proc menu.  
  374.  
  375.         Version 2.7  01/31/87 - Finally got good keyboard action. Must 
  376.         use "Cbreak := false;" before the chkkbd; keydo; routine and then 
  377.         "Cbreak := true;" after it.  This has the effect of deactivating 
  378.         break checking, $C-, during keyboard sensing. In $C+ the keyboard 
  379.         buffer gets emptied in order to look for a ^C.  Improved the 
  380.         death display and shortened it.  Changed so after dying go back 
  381.         to the menu instead of to DOS.  This required using "if dying 
  382.         then EXIT;" several times to retrace the original path through 
  383.         the calling procedures back to the menu.  
  384.  
  385.         Version 2.6  01/25/87 - Instead of "if keypressed then read(kbd, 
  386.         improvement in keyboard action, however.  Various improvements 
  387.         suggested by Wayne Wolfe.  Bag brightens when bagshut and takes 
  388.         on color of snake head when snake bagged. Added cursor  
  389.         suppression for both mono or c/g.  
  390.  
  391.         Version 2.5  01/19/87 - Made snakebiz and bagbiz independent of 
  392.         each other.  Both are now called from proc playgame.  Snakebiz 
  393.         does not call bagbiz; but bagbiz calls snakebiz for the snake 
  394.         dance after biting.  
  395.  
  396.         Version 2.4  01/17/87 - Added fanfare for bagging venomous snake.                
  397.  
  398.         Version 2.30 01/16/87 -  Bag symbol changes to appropriate snake 
  399.         head & color when bitten.  Plotbag changed so only pass 2 instead 
  400.         of 4 parameters.  Use of Quickeys.com speeds up cursor.  Fastout 
  401.         added for function 7 normal exit and F1 key.     
  402.  
  403.         Version 2.20 01/15/87 -  Changed bag back to V2.0 way while 
  404.         eliminating 1 or 2 additions/subtractions in each bag move and 
  405.         halving the number in each bag plot.  Changed as many integer 
  406.         variables to byte as possible to increase speed.  Made snake 
  407.         trail array 10 chars long.  Shortened sound durations.   
  408.         Initialized trail array & deltx etc.in playgame to eliminate 
  409.         stray bits of snake on initial startup.        
  410.  
  411.         Version 2.10 01/14/87 -  Changed Trail from 2 - 1D arrays to 1 - 
  412.         2D array.  This sped-up game.  Changed bag to 3D array; but this 
  413.         reduced game speed.                             
  414.  
  415.         Version 2.00 01/13/87 -  Make snake deadly at times, if bitten 
  416.         twice then die;  but get 4 points if bag it.  Speed-up menu.  
  417.         Improve introductory screen. 
  418.                                     
  419.         Version 1.09 01/09/87 -  Hide cursor during playgame.  Colored 
  420.         border added.  Should change so don't use recursion, i.e.,              
  421.         snakebiz calls bagbiz which calls snakebiz.              
  422.  
  423.         Version 1.08 01/08/87 -  Improved score bar update.  Changed 
  424.         vertical bag increment "bagjmpy".                
  425.  
  426.  
  427.                                    7
  428.         SneeSnoo Snake V3.1 Documentation, (C) 1987 Bruce L. Rosenberg 
  429.  
  430.  
  431.  
  432.         Version 1.07 01/08/87 - Scores updated every 2 seconds. Score bar 
  433.         given background.                               
  434.  
  435.         Version 1.06 01/04/86 -  Minor screen changes, added DOC file.  
  436.         Added score file reset to options area.  Score file now declared 
  437.         only once.  Fixed problems when aborting a game.                      
  438.  
  439.         Version 1.05 01/02/87 - Added F1 to abort game if boss comes in 
  440.         during play.
  441.  
  442.         Version 1.04 12/24/86 -  Made improvements suggested by Dave 
  443.         Schubert.
  444.  
  445.         Version 1.03 12/22/86 -  Made improvements suggested by Tom 
  446.         Zurinskas.  Thanks are due to my Pascal instructor, Mary Wall, 
  447.         who suggested writing a game for a term project.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                                    8
  489.